#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H

#include <QDialog>
#include <QVariant>

namespace Ui
{
    class SettingsDialog;
}

class SettingsDialog : public QDialog
{
    Q_OBJECT

public:
    explicit SettingsDialog(QWidget *parent = nullptr);
    ~SettingsDialog();

    void initData();
    void showWindow();

protected:
    virtual void closeEvent(QCloseEvent *event);
    virtual void showEvent(QShowEvent *event);
    virtual void changeEvent(QEvent *event);

signals:
    void updateWatermarkWindow();
    void onProcessChanged(const QString &process, int changed);

private slots:
    void on_cbb_watertype_currentIndexChanged(int index);
    void on_btn_apply_clicked();
    void on_btn_clear_clicked();

    void on_btn_addapp_clicked();
    void on_btn_delapp_clicked();

    void on_sli_textopacity_valueChanged(int value);
    void on_sli_textslope_valueChanged(int value);
    void on_sli_textdensity_valueChanged(int value);
    void on_btn_textfont_clicked();
    void on_btn_textcolor_clicked();
    void on_edit_textcontent_textChanged();

    void on_btn_imageselect_clicked();
    void on_sli_imageopacity_valueChanged(int value);
    void on_sli_imageslope_valueChanged(int value);
    void on_sli_imagescale_valueChanged(int value);
    void on_cbb_imagepos_currentIndexChanged(int index);

    void on_edit_qrcontent_textChanged();
    void on_btn_qrcolor_clicked();
    void on_sli_qropacity_valueChanged(int value);
    void on_sli_qrslope_valueChanged(int value);
    void on_sli_qrsize_valueChanged(int value);
    void on_cbb_qrpos_currentIndexChanged(int index);

    void on_edit_darkcontent_textChanged();
    void on_btn_darkfont_clicked();
    void on_btn_darkcolor_clicked();
    void on_sli_darkopacity_valueChanged(int value);
    void on_sli_darkslope_valueChanged(int value);
    void on_sli_darkdensity_valueChanged(int value);

    void on_sli_matrixdiam_valueChanged(int value);
    void on_btn_matrixcolor_clicked();
    void on_sli_matrixopacity_valueChanged(int value);
    void on_sli_matrixlength_valueChanged(int value);
    void on_sli_matrixinterval_valueChanged(int value);
    void on_edit_matrixcontent_textChanged(const QString &arg1);



private:
    Ui::SettingsDialog *ui;


};

#endif // SETTINGSDIALOG_H
